<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::visualization::PCLVisualizerInteractorStyle类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="#pri-types">Private 类型</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="#friends">友元</a> &#124;
<a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::visualization::PCLVisualizerInteractorStyle类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html" title="PCLVisualizerInteractorStyle defines an unique, custom VTK based interactory style for PCL Visualizer...">PCLVisualizerInteractorStyle</a> defines an unique, custom VTK based interactory style for PCL Visualizer applications. Besides defining the rendering style, we also create a list of custom actions that are triggered on different keys being pressed:  
 <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="interactor__style_8h_source.html">interactor_style.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::visualization::PCLVisualizerInteractorStyle 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.png" alt=""/>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a8b1a47d7193226d6155b6b46733ecf0f"><td class="memItemLeft" align="right" valign="top"><a id="a8b1a47d7193226d6155b6b46733ecf0f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a8b1a47d7193226d6155b6b46733ecf0f">PCLVisualizerInteractorStyle</a> ()</td></tr>
<tr class="memdesc:a8b1a47d7193226d6155b6b46733ecf0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:a8b1a47d7193226d6155b6b46733ecf0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afce35167e5143da9f7c789f7bb973ea4"><td class="memItemLeft" align="right" valign="top"><a id="afce35167e5143da9f7c789f7bb973ea4"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#afce35167e5143da9f7c789f7bb973ea4">~PCLVisualizerInteractorStyle</a> ()</td></tr>
<tr class="memdesc:afce35167e5143da9f7c789f7bb973ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor <br /></td></tr>
<tr class="separator:afce35167e5143da9f7c789f7bb973ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293745c66a6e260251eff2cd8d2bfacd"><td class="memItemLeft" align="right" valign="top"><a id="a293745c66a6e260251eff2cd8d2bfacd"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>vtkTypeMacro</b> (<a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html">PCLVisualizerInteractorStyle</a>, vtkInteractorStyleRubberBandPick)</td></tr>
<tr class="separator:a293745c66a6e260251eff2cd8d2bfacd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f551bb9590e36162c6021e521c1e659"><td class="memItemLeft" align="right" valign="top"><a id="a2f551bb9590e36162c6021e521c1e659"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a2f551bb9590e36162c6021e521c1e659">Initialize</a> ()</td></tr>
<tr class="memdesc:a2f551bb9590e36162c6021e521c1e659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization routine. Must be called before anything else. <br /></td></tr>
<tr class="separator:a2f551bb9590e36162c6021e521c1e659"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06f609a85bfdc90fbe8c90dcda98fd29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a06f609a85bfdc90fbe8c90dcda98fd29">setCloudActorMap</a> (const CloudActorMapPtr &amp;actors)</td></tr>
<tr class="memdesc:a06f609a85bfdc90fbe8c90dcda98fd29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass a pointer to the cloud actor map  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a06f609a85bfdc90fbe8c90dcda98fd29">更多...</a><br /></td></tr>
<tr class="separator:a06f609a85bfdc90fbe8c90dcda98fd29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4620e547c81b00eea6962b91d01f3840"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a4620e547c81b00eea6962b91d01f3840">setShapeActorMap</a> (const ShapeActorMapPtr &amp;actors)</td></tr>
<tr class="memdesc:a4620e547c81b00eea6962b91d01f3840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass a pointer to the shape actor map  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a4620e547c81b00eea6962b91d01f3840">更多...</a><br /></td></tr>
<tr class="separator:a4620e547c81b00eea6962b91d01f3840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e4f2bb5f9534c5782e0d0a76b85493b"><td class="memItemLeft" align="right" valign="top"><a id="a2e4f2bb5f9534c5782e0d0a76b85493b"></a>
CloudActorMapPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a2e4f2bb5f9534c5782e0d0a76b85493b">getCloudActorMap</a> ()</td></tr>
<tr class="memdesc:a2e4f2bb5f9534c5782e0d0a76b85493b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the cloud actor map pointer. <br /></td></tr>
<tr class="separator:a2e4f2bb5f9534c5782e0d0a76b85493b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32d88ef036aebfe84734acf2283929ea"><td class="memItemLeft" align="right" valign="top"><a id="a32d88ef036aebfe84734acf2283929ea"></a>
ShapeActorMapPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a32d88ef036aebfe84734acf2283929ea">getShapeActorMap</a> ()</td></tr>
<tr class="memdesc:a32d88ef036aebfe84734acf2283929ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the cloud actor map pointer. <br /></td></tr>
<tr class="separator:a32d88ef036aebfe84734acf2283929ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16b9121a9daeda58f5585a958ec82d94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a16b9121a9daeda58f5585a958ec82d94">setRendererCollection</a> (<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkRendererCollection &gt; &amp;rens)</td></tr>
<tr class="memdesc:a16b9121a9daeda58f5585a958ec82d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass a set of renderers to the interactor style.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a16b9121a9daeda58f5585a958ec82d94">更多...</a><br /></td></tr>
<tr class="separator:a16b9121a9daeda58f5585a958ec82d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd5739cf8fd6b0285d3d964861fc82a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#abfd5739cf8fd6b0285d3d964861fc82a">setUseVbos</a> (const bool use_vbos)</td></tr>
<tr class="memdesc:abfd5739cf8fd6b0285d3d964861fc82a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Vertex Buffer Objects renderers. This is an optimization for the obsolete OpenGL backend. Modern OpenGL2 backend (VTK ≥ 6.3) uses vertex buffer objects by default, transparently for the user.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#abfd5739cf8fd6b0285d3d964861fc82a">更多...</a><br /></td></tr>
<tr class="separator:abfd5739cf8fd6b0285d3d964861fc82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46cf21d027bfeeda66a85bcf09015317"><td class="memItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a46cf21d027bfeeda66a85bcf09015317">registerMouseCallback</a> (boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a> &amp;)&gt; cb)</td></tr>
<tr class="memdesc:a46cf21d027bfeeda66a85bcf09015317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a callback function for mouse events  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a46cf21d027bfeeda66a85bcf09015317">更多...</a><br /></td></tr>
<tr class="separator:a46cf21d027bfeeda66a85bcf09015317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12c90dd2989fca990bf5d78cc30a0e25"><td class="memItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a12c90dd2989fca990bf5d78cc30a0e25">registerKeyboardCallback</a> (boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a> &amp;)&gt; cb)</td></tr>
<tr class="memdesc:a12c90dd2989fca990bf5d78cc30a0e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a callback boost::function for keyboard events  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a12c90dd2989fca990bf5d78cc30a0e25">更多...</a><br /></td></tr>
<tr class="separator:a12c90dd2989fca990bf5d78cc30a0e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87fd92b00651962f5ac09618b1a040a7"><td class="memItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a87fd92b00651962f5ac09618b1a040a7">registerPointPickingCallback</a> (boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_point_picking_event.html">pcl::visualization::PointPickingEvent</a> &amp;)&gt; cb)</td></tr>
<tr class="memdesc:a87fd92b00651962f5ac09618b1a040a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a callback function for point picking events  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a87fd92b00651962f5ac09618b1a040a7">更多...</a><br /></td></tr>
<tr class="separator:a87fd92b00651962f5ac09618b1a040a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b86ca3ad6b1a033cd1818990f7bfbc9"><td class="memItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9b86ca3ad6b1a033cd1818990f7bfbc9">registerAreaPickingCallback</a> (boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_area_picking_event.html">pcl::visualization::AreaPickingEvent</a> &amp;)&gt; cb)</td></tr>
<tr class="memdesc:a9b86ca3ad6b1a033cd1818990f7bfbc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a callback function for area picking events  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9b86ca3ad6b1a033cd1818990f7bfbc9">更多...</a><br /></td></tr>
<tr class="separator:a9b86ca3ad6b1a033cd1818990f7bfbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43fea5e3d699b7a3e084ca4bd2655f15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a43fea5e3d699b7a3e084ca4bd2655f15">saveScreenshot</a> (const std::string &amp;file)</td></tr>
<tr class="memdesc:a43fea5e3d699b7a3e084ca4bd2655f15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the current rendered image to disk, as a PNG screenshot.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a43fea5e3d699b7a3e084ca4bd2655f15">更多...</a><br /></td></tr>
<tr class="separator:a43fea5e3d699b7a3e084ca4bd2655f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5c5462340c577ef368095bf64b3b215"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ad5c5462340c577ef368095bf64b3b215">saveCameraParameters</a> (const std::string &amp;file)</td></tr>
<tr class="memdesc:ad5c5462340c577ef368095bf64b3b215"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the camera parameters to disk, as a .cam file.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ad5c5462340c577ef368095bf64b3b215">更多...</a><br /></td></tr>
<tr class="separator:ad5c5462340c577ef368095bf64b3b215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc66c05759536aa30af313edab96e817"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adc66c05759536aa30af313edab96e817">getCameraParameters</a> (<a class="el" href="classpcl_1_1visualization_1_1_camera.html">Camera</a> &amp;camera)</td></tr>
<tr class="memdesc:adc66c05759536aa30af313edab96e817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get camera parameters and save them to a <a class="el" href="classpcl_1_1visualization_1_1_camera.html">pcl::visualization::Camera</a>.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adc66c05759536aa30af313edab96e817">更多...</a><br /></td></tr>
<tr class="separator:adc66c05759536aa30af313edab96e817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53c9d1104075d6a4183fa1caf9867641"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a53c9d1104075d6a4183fa1caf9867641">loadCameraParameters</a> (const std::string &amp;file)</td></tr>
<tr class="memdesc:a53c9d1104075d6a4183fa1caf9867641"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load camera parameters from a camera parameter file.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a53c9d1104075d6a4183fa1caf9867641">更多...</a><br /></td></tr>
<tr class="separator:a53c9d1104075d6a4183fa1caf9867641"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a163bfbeb653773a9fc9a7035c262e8e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a163bfbeb653773a9fc9a7035c262e8e1">setCameraParameters</a> (const Eigen::Matrix3f &amp;intrinsics, const Eigen::Matrix4f &amp;extrinsics, int viewport=0)</td></tr>
<tr class="memdesc:a163bfbeb653773a9fc9a7035c262e8e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the camera parameters via an intrinsics and and extrinsics matrix  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a163bfbeb653773a9fc9a7035c262e8e1">更多...</a><br /></td></tr>
<tr class="separator:a163bfbeb653773a9fc9a7035c262e8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca1e9a5ec952d47ac6dc4c6e36093dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a8ca1e9a5ec952d47ac6dc4c6e36093dd">setCameraParameters</a> (const <a class="el" href="classpcl_1_1visualization_1_1_camera.html">Camera</a> &amp;camera, int viewport=0)</td></tr>
<tr class="memdesc:a8ca1e9a5ec952d47ac6dc4c6e36093dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the camera parameters by given a full camera data structure.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a8ca1e9a5ec952d47ac6dc4c6e36093dd">更多...</a><br /></td></tr>
<tr class="separator:a8ca1e9a5ec952d47ac6dc4c6e36093dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cbbfc4ac0867a983ab48cd2662bfeb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a2cbbfc4ac0867a983ab48cd2662bfeb1">setCameraFile</a> (const std::string file)</td></tr>
<tr class="memdesc:a2cbbfc4ac0867a983ab48cd2662bfeb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set camera file for camera parameter saving/restoring.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a2cbbfc4ac0867a983ab48cd2662bfeb1">更多...</a><br /></td></tr>
<tr class="separator:a2cbbfc4ac0867a983ab48cd2662bfeb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c3a4dd9c9ac3d6458fd2d1945f826da"><td class="memItemLeft" align="right" valign="top"><a id="a7c3a4dd9c9ac3d6458fd2d1945f826da"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a7c3a4dd9c9ac3d6458fd2d1945f826da">getCameraFile</a> () const</td></tr>
<tr class="memdesc:a7c3a4dd9c9ac3d6458fd2d1945f826da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get camera file for camera parameter saving/restoring. <br /></td></tr>
<tr class="separator:a7c3a4dd9c9ac3d6458fd2d1945f826da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a898280b1a969cb0e9116e71de3da0273"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a898280b1a969cb0e9116e71de3da0273">setKeyboardModifier</a> (const InteractorKeyboardModifier &amp;modifier)</td></tr>
<tr class="memdesc:a898280b1a969cb0e9116e71de3da0273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the default keyboard modified from ALT to a different special key. Allowed values are:  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a898280b1a969cb0e9116e71de3da0273">更多...</a><br /></td></tr>
<tr class="separator:a898280b1a969cb0e9116e71de3da0273"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:aebae88c120561671a1a55e528801e7e7"><td class="memItemLeft" align="right" valign="top"><a id="aebae88c120561671a1a55e528801e7e7"></a>
static <a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html">PCLVisualizerInteractorStyle</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>New</b> ()</td></tr>
<tr class="separator:aebae88c120561671a1a55e528801e7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a59f4864b2f3af0f8d3739169956db837"><td class="memItemLeft" align="right" valign="top"><a id="a59f4864b2f3af0f8d3739169956db837"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a59f4864b2f3af0f8d3739169956db837">OnChar</a> ()</td></tr>
<tr class="memdesc:a59f4864b2f3af0f8d3739169956db837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interactor style internal method. Gets called whenever a key is pressed. <br /></td></tr>
<tr class="separator:a59f4864b2f3af0f8d3739169956db837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205943353d66f82b33d37f42d7060ff8"><td class="memItemLeft" align="right" valign="top"><a id="a205943353d66f82b33d37f42d7060ff8"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnKeyDown</b> ()</td></tr>
<tr class="separator:a205943353d66f82b33d37f42d7060ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c729db3e3f8da35b63fc37018c39dc"><td class="memItemLeft" align="right" valign="top"><a id="ad1c729db3e3f8da35b63fc37018c39dc"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnKeyUp</b> ()</td></tr>
<tr class="separator:ad1c729db3e3f8da35b63fc37018c39dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a076daf4e55d88d594f8e170d6e6b29d2"><td class="memItemLeft" align="right" valign="top"><a id="a076daf4e55d88d594f8e170d6e6b29d2"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnMouseMove</b> ()</td></tr>
<tr class="separator:a076daf4e55d88d594f8e170d6e6b29d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4982baff56d798c16d4ffa4af06d3abb"><td class="memItemLeft" align="right" valign="top"><a id="a4982baff56d798c16d4ffa4af06d3abb"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnLeftButtonDown</b> ()</td></tr>
<tr class="separator:a4982baff56d798c16d4ffa4af06d3abb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31ac9c6a7f079e422f41921779e77314"><td class="memItemLeft" align="right" valign="top"><a id="a31ac9c6a7f079e422f41921779e77314"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnLeftButtonUp</b> ()</td></tr>
<tr class="separator:a31ac9c6a7f079e422f41921779e77314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec1f1af0778ebc33af0edfe5fe47f0b"><td class="memItemLeft" align="right" valign="top"><a id="a2ec1f1af0778ebc33af0edfe5fe47f0b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnMiddleButtonDown</b> ()</td></tr>
<tr class="separator:a2ec1f1af0778ebc33af0edfe5fe47f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b836b84731abcd27744c5bf9f796fa"><td class="memItemLeft" align="right" valign="top"><a id="a23b836b84731abcd27744c5bf9f796fa"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnMiddleButtonUp</b> ()</td></tr>
<tr class="separator:a23b836b84731abcd27744c5bf9f796fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e029486caa1b45408f53ec8c2eef533"><td class="memItemLeft" align="right" valign="top"><a id="a5e029486caa1b45408f53ec8c2eef533"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnRightButtonDown</b> ()</td></tr>
<tr class="separator:a5e029486caa1b45408f53ec8c2eef533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f1f6ff9e1e10379dd6a44e150da01f3"><td class="memItemLeft" align="right" valign="top"><a id="a2f1f6ff9e1e10379dd6a44e150da01f3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnRightButtonUp</b> ()</td></tr>
<tr class="separator:a2f1f6ff9e1e10379dd6a44e150da01f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2705552922172a3ef3f48653e7ae7362"><td class="memItemLeft" align="right" valign="top"><a id="a2705552922172a3ef3f48653e7ae7362"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnMouseWheelForward</b> ()</td></tr>
<tr class="separator:a2705552922172a3ef3f48653e7ae7362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf4cd6f20c9d2f50e182de47cfaf083e"><td class="memItemLeft" align="right" valign="top"><a id="abf4cd6f20c9d2f50e182de47cfaf083e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>OnMouseWheelBackward</b> ()</td></tr>
<tr class="separator:abf4cd6f20c9d2f50e182de47cfaf083e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab901bc4453c40f462a4a1d753cca9143"><td class="memItemLeft" align="right" valign="top"><a id="ab901bc4453c40f462a4a1d753cca9143"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ab901bc4453c40f462a4a1d753cca9143">OnTimer</a> ()</td></tr>
<tr class="memdesc:ab901bc4453c40f462a4a1d753cca9143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interactor style internal method. Gets called periodically if a timer is set. <br /></td></tr>
<tr class="separator:ab901bc4453c40f462a4a1d753cca9143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb609e3a9936c681c2b1340a37e9b889"><td class="memItemLeft" align="right" valign="top"><a id="adb609e3a9936c681c2b1340a37e9b889"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adb609e3a9936c681c2b1340a37e9b889">zoomIn</a> ()</td></tr>
<tr class="memdesc:adb609e3a9936c681c2b1340a37e9b889"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interactor style internal method. Zoom in. <br /></td></tr>
<tr class="separator:adb609e3a9936c681c2b1340a37e9b889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d4a394a7a381d1a319422906a2a351"><td class="memItemLeft" align="right" valign="top"><a id="a70d4a394a7a381d1a319422906a2a351"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a70d4a394a7a381d1a319422906a2a351">zoomOut</a> ()</td></tr>
<tr class="memdesc:a70d4a394a7a381d1a319422906a2a351"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interactor style internal method. Zoom out. <br /></td></tr>
<tr class="separator:a70d4a394a7a381d1a319422906a2a351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66e03c83bf7b1d7a52bc3dae14589853"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a66e03c83bf7b1d7a52bc3dae14589853">getCameraParameters</a> (const std::vector&lt; std::string &gt; &amp;camera)</td></tr>
<tr class="memdesc:a66e03c83bf7b1d7a52bc3dae14589853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get camera parameters from a string vector.  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a66e03c83bf7b1d7a52bc3dae14589853">更多...</a><br /></td></tr>
<tr class="separator:a66e03c83bf7b1d7a52bc3dae14589853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57e29bf49d4301a91089f0e621b2ce58"><td class="memItemLeft" align="right" valign="top"><a id="a57e29bf49d4301a91089f0e621b2ce58"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a57e29bf49d4301a91089f0e621b2ce58">setRenderWindow</a> (const <a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkRenderWindow &gt; &amp;win)</td></tr>
<tr class="memdesc:a57e29bf49d4301a91089f0e621b2ce58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set render window. <br /></td></tr>
<tr class="separator:a57e29bf49d4301a91089f0e621b2ce58"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a97b0639c4d8a7828e849dc3e32afe31f"><td class="memItemLeft" align="right" valign="top"><a id="a97b0639c4d8a7828e849dc3e32afe31f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a97b0639c4d8a7828e849dc3e32afe31f">init_</a></td></tr>
<tr class="memdesc:a97b0639c4d8a7828e849dc3e32afe31f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true after initialization is complete. <br /></td></tr>
<tr class="separator:a97b0639c4d8a7828e849dc3e32afe31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7930c0be0ec6da577f3ab21c914a7b"><td class="memItemLeft" align="right" valign="top"><a id="a9a7930c0be0ec6da577f3ab21c914a7b"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkRendererCollection &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9a7930c0be0ec6da577f3ab21c914a7b">rens_</a></td></tr>
<tr class="memdesc:a9a7930c0be0ec6da577f3ab21c914a7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of vtkRenderers stored internally. <br /></td></tr>
<tr class="separator:a9a7930c0be0ec6da577f3ab21c914a7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a479fe3ea8f11e886237803d2ff0f7278"><td class="memItemLeft" align="right" valign="top"><a id="a479fe3ea8f11e886237803d2ff0f7278"></a>
CloudActorMapPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a479fe3ea8f11e886237803d2ff0f7278">cloud_actors_</a></td></tr>
<tr class="memdesc:a479fe3ea8f11e886237803d2ff0f7278"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_cloud.html" title="A wrapper which allows to use any implementation of cloud provided by a third-party library.">Cloud</a> actor map stored internally. <br /></td></tr>
<tr class="separator:a479fe3ea8f11e886237803d2ff0f7278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8dc332ab03f6f68f6ad55dc7e366ea"><td class="memItemLeft" align="right" valign="top"><a id="a3f8dc332ab03f6f68f6ad55dc7e366ea"></a>
ShapeActorMapPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a3f8dc332ab03f6f68f6ad55dc7e366ea">shape_actors_</a></td></tr>
<tr class="memdesc:a3f8dc332ab03f6f68f6ad55dc7e366ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shape map stored internally. <br /></td></tr>
<tr class="separator:a3f8dc332ab03f6f68f6ad55dc7e366ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63ba867d9f2eb2718cdd5919c9cb4bd0"><td class="memItemLeft" align="right" valign="top"><a id="a63ba867d9f2eb2718cdd5919c9cb4bd0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a63ba867d9f2eb2718cdd5919c9cb4bd0">win_height_</a></td></tr>
<tr class="memdesc:a63ba867d9f2eb2718cdd5919c9cb4bd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current window width/height. <br /></td></tr>
<tr class="separator:a63ba867d9f2eb2718cdd5919c9cb4bd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afae3b3fd4a8d436fda51cdf933804f0a"><td class="memItemLeft" align="right" valign="top"><a id="afae3b3fd4a8d436fda51cdf933804f0a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>win_width_</b></td></tr>
<tr class="separator:afae3b3fd4a8d436fda51cdf933804f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04d0d38ddd977cd322680425797cbf8"><td class="memItemLeft" align="right" valign="top"><a id="ab04d0d38ddd977cd322680425797cbf8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ab04d0d38ddd977cd322680425797cbf8">win_pos_x_</a></td></tr>
<tr class="memdesc:ab04d0d38ddd977cd322680425797cbf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current window position x/y. <br /></td></tr>
<tr class="separator:ab04d0d38ddd977cd322680425797cbf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ac94a925097d1131a481ae3824bfaa5"><td class="memItemLeft" align="right" valign="top"><a id="a0ac94a925097d1131a481ae3824bfaa5"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>win_pos_y_</b></td></tr>
<tr class="separator:a0ac94a925097d1131a481ae3824bfaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd3274ac5e59e8d9ad95e76f69122be0"><td class="memItemLeft" align="right" valign="top"><a id="acd3274ac5e59e8d9ad95e76f69122be0"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#acd3274ac5e59e8d9ad95e76f69122be0">max_win_height_</a></td></tr>
<tr class="memdesc:acd3274ac5e59e8d9ad95e76f69122be0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum resizeable window width/height. <br /></td></tr>
<tr class="separator:acd3274ac5e59e8d9ad95e76f69122be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad53e8a6a027ed2f7a6e09fdc849284a9"><td class="memItemLeft" align="right" valign="top"><a id="ad53e8a6a027ed2f7a6e09fdc849284a9"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>max_win_width_</b></td></tr>
<tr class="separator:ad53e8a6a027ed2f7a6e09fdc849284a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93d59d4bba0fea9052d9d7aacdb478fc"><td class="memItemLeft" align="right" valign="top"><a id="a93d59d4bba0fea9052d9d7aacdb478fc"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a93d59d4bba0fea9052d9d7aacdb478fc">use_vbos_</a></td></tr>
<tr class="memdesc:a93d59d4bba0fea9052d9d7aacdb478fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boolean that holds whether or not to use the <a class="el" href="classvtk_vertex_buffer_object_mapper.html">vtkVertexBufferObjectMapper</a> <br /></td></tr>
<tr class="separator:a93d59d4bba0fea9052d9d7aacdb478fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b8afd732f7acf30781f0fb0fa098fed"><td class="memItemLeft" align="right" valign="top"><a id="a9b8afd732f7acf30781f0fb0fa098fed"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9b8afd732f7acf30781f0fb0fa098fed">grid_enabled_</a></td></tr>
<tr class="memdesc:a9b8afd732f7acf30781f0fb0fa098fed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if the grid actor is enabled. <br /></td></tr>
<tr class="separator:a9b8afd732f7acf30781f0fb0fa098fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91e884c3a0bf474bf857d80a39ca19ff"><td class="memItemLeft" align="right" valign="top"><a id="a91e884c3a0bf474bf857d80a39ca19ff"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkLegendScaleActor &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a91e884c3a0bf474bf857d80a39ca19ff">grid_actor_</a></td></tr>
<tr class="memdesc:a91e884c3a0bf474bf857d80a39ca19ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Actor for 2D grid on screen. <br /></td></tr>
<tr class="separator:a91e884c3a0bf474bf857d80a39ca19ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd29aba79d9d20bb23a19a1a71769da2"><td class="memItemLeft" align="right" valign="top"><a id="afd29aba79d9d20bb23a19a1a71769da2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#afd29aba79d9d20bb23a19a1a71769da2">lut_enabled_</a></td></tr>
<tr class="memdesc:afd29aba79d9d20bb23a19a1a71769da2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if the LUT actor is enabled. <br /></td></tr>
<tr class="separator:afd29aba79d9d20bb23a19a1a71769da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af569b54d57caf7a468dd269238671bb8"><td class="memItemLeft" align="right" valign="top"><a id="af569b54d57caf7a468dd269238671bb8"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkScalarBarActor &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#af569b54d57caf7a468dd269238671bb8">lut_actor_</a></td></tr>
<tr class="memdesc:af569b54d57caf7a468dd269238671bb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Actor for 2D lookup table on screen. <br /></td></tr>
<tr class="separator:af569b54d57caf7a468dd269238671bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a46269705a9bedf64616e0638d7d354"><td class="memItemLeft" align="right" valign="top"><a id="a5a46269705a9bedf64616e0638d7d354"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkPNGWriter &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a5a46269705a9bedf64616e0638d7d354">snapshot_writer_</a></td></tr>
<tr class="memdesc:a5a46269705a9bedf64616e0638d7d354"><td class="mdescLeft">&#160;</td><td class="mdescRight">A PNG writer for screenshot captures. <br /></td></tr>
<tr class="separator:a5a46269705a9bedf64616e0638d7d354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05f32077def04dbf86861b4c55e92a2f"><td class="memItemLeft" align="right" valign="top"><a id="a05f32077def04dbf86861b4c55e92a2f"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkWindowToImageFilter &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a05f32077def04dbf86861b4c55e92a2f">wif_</a></td></tr>
<tr class="memdesc:a05f32077def04dbf86861b4c55e92a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal window to image filter. Needed by <em>snapshot_writer_</em>. <br /></td></tr>
<tr class="separator:a05f32077def04dbf86861b4c55e92a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c0097b0268a176f5c890e1c9c387262"><td class="memItemLeft" align="right" valign="top"><a id="a2c0097b0268a176f5c890e1c9c387262"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkPointPicker &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a2c0097b0268a176f5c890e1c9c387262">point_picker_</a></td></tr>
<tr class="memdesc:a2c0097b0268a176f5c890e1c9c387262"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the point picker when switching to an area picker. <br /></td></tr>
<tr class="separator:a2c0097b0268a176f5c890e1c9c387262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8af27268b6def64e4b909e72db35cb4c"><td class="memItemLeft" align="right" valign="top"><a id="a8af27268b6def64e4b909e72db35cb4c"></a>
boost::signals2::signal&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a> &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mouse_signal_</b></td></tr>
<tr class="separator:a8af27268b6def64e4b909e72db35cb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf45a453449c7b7dde36901601e590d0"><td class="memItemLeft" align="right" valign="top"><a id="aaf45a453449c7b7dde36901601e590d0"></a>
boost::signals2::signal&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a> &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>keyboard_signal_</b></td></tr>
<tr class="separator:aaf45a453449c7b7dde36901601e590d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2bffe20c497cefe77ab1be0ab8c37c8"><td class="memItemLeft" align="right" valign="top"><a id="ad2bffe20c497cefe77ab1be0ab8c37c8"></a>
boost::signals2::signal&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_point_picking_event.html">pcl::visualization::PointPickingEvent</a> &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>point_picking_signal_</b></td></tr>
<tr class="separator:ad2bffe20c497cefe77ab1be0ab8c37c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a726f5f0502875703f3ad094846199605"><td class="memItemLeft" align="right" valign="top"><a id="a726f5f0502875703f3ad094846199605"></a>
boost::signals2::signal&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_area_picking_event.html">pcl::visualization::AreaPickingEvent</a> &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>area_picking_signal_</b></td></tr>
<tr class="separator:a726f5f0502875703f3ad094846199605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec6bfb335f7324f8780c8b1e4440f576"><td class="memItemLeft" align="right" valign="top"><a id="aec6bfb335f7324f8780c8b1e4440f576"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#aec6bfb335f7324f8780c8b1e4440f576">stereo_anaglyph_mask_default_</a></td></tr>
<tr class="memdesc:aec6bfb335f7324f8780c8b1e4440f576"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if we're using red-blue colors for anaglyphic stereo, false if magenta-green. <br /></td></tr>
<tr class="separator:aec6bfb335f7324f8780c8b1e4440f576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7977a56bfae458a4aee39872aadc39c"><td class="memItemLeft" align="right" valign="top"><a id="ac7977a56bfae458a4aee39872aadc39c"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; <a class="el" href="classpcl_1_1visualization_1_1_point_picking_callback.html">PointPickingCallback</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ac7977a56bfae458a4aee39872aadc39c">mouse_callback_</a></td></tr>
<tr class="memdesc:ac7977a56bfae458a4aee39872aadc39c"><td class="mdescLeft">&#160;</td><td class="mdescRight">A VTK Mouse Callback object, used for point picking. <br /></td></tr>
<tr class="separator:ac7977a56bfae458a4aee39872aadc39c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab25184eb4951ff78320da1589804dcb6"><td class="memItemLeft" align="right" valign="top"><a id="ab25184eb4951ff78320da1589804dcb6"></a>
InteractorKeyboardModifier&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ab25184eb4951ff78320da1589804dcb6">modifier_</a></td></tr>
<tr class="memdesc:ab25184eb4951ff78320da1589804dcb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The keyboard modifier to use. Default: Alt. <br /></td></tr>
<tr class="separator:ab25184eb4951ff78320da1589804dcb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1423a12519f236d740fbb4bcce23b0"><td class="memItemLeft" align="right" valign="top"><a id="afc1423a12519f236d740fbb4bcce23b0"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#afc1423a12519f236d740fbb4bcce23b0">camera_file_</a></td></tr>
<tr class="memdesc:afc1423a12519f236d740fbb4bcce23b0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classpcl_1_1visualization_1_1_camera.html" title="Camera class holds a set of camera parameters together with the window pos/size.">Camera</a> file for camera parameter saving/restoring. <br /></td></tr>
<tr class="separator:afc1423a12519f236d740fbb4bcce23b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f075c64e53b1fbc3a615ed7c938570b"><td class="memItemLeft" align="right" valign="top"><a id="a5f075c64e53b1fbc3a615ed7c938570b"></a>
<a class="el" href="classpcl_1_1visualization_1_1_camera.html">Camera</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a5f075c64e53b1fbc3a615ed7c938570b">camera_</a></td></tr>
<tr class="memdesc:a5f075c64e53b1fbc3a615ed7c938570b"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classpcl_1_1visualization_1_1_camera.html">pcl::visualization::Camera</a> for camera parameter saving/restoring. <br /></td></tr>
<tr class="separator:a5f075c64e53b1fbc3a615ed7c938570b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b5ef7de01325ef0ac7c945579f0ddf3"><td class="memItemLeft" align="right" valign="top"><a id="a6b5ef7de01325ef0ac7c945579f0ddf3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a6b5ef7de01325ef0ac7c945579f0ddf3">camera_saved_</a></td></tr>
<tr class="memdesc:a6b5ef7de01325ef0ac7c945579f0ddf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classpcl_1_1visualization_1_1_camera.html">pcl::visualization::Camera</a> is saved or not. <br /></td></tr>
<tr class="separator:a6b5ef7de01325ef0ac7c945579f0ddf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f7de1cf8591abe7905cd346e10b983e"><td class="memItemLeft" align="right" valign="top"><a id="a5f7de1cf8591abe7905cd346e10b983e"></a>
<a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkRenderWindow &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a5f7de1cf8591abe7905cd346e10b983e">win_</a></td></tr>
<tr class="memdesc:a5f7de1cf8591abe7905cd346e10b983e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The render window. Only used when interactor maybe not available <br /></td></tr>
<tr class="separator:a5f7de1cf8591abe7905cd346e10b983e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private 类型</h2></td></tr>
<tr class="memitem:a07a109c811d868a984e2d5d1e576a78a"><td class="memItemLeft" align="right" valign="top"><a id="a07a109c811d868a984e2d5d1e576a78a"></a>
typedef boost::shared_ptr&lt; CloudActorMap &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>CloudActorMapPtr</b></td></tr>
<tr class="separator:a07a109c811d868a984e2d5d1e576a78a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a99311c7ad7ec1f640a73a652e611ae98"><td class="memItemLeft" align="right" valign="top"><a id="a99311c7ad7ec1f640a73a652e611ae98"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a99311c7ad7ec1f640a73a652e611ae98">updateLookUpTableDisplay</a> (bool add_lut=false)</td></tr>
<tr class="memdesc:a99311c7ad7ec1f640a73a652e611ae98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add/remove the look up table displayed when 'u' is pressed, can also be used to update the current LUT displayed <a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adddae71dc314b75fbece325b9fb6d7c4">lut_actor_id_</a> is used (if not empty) to chose which cloud/shape actor LUT will be updated (depending on what is available) If <a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adddae71dc314b75fbece325b9fb6d7c4">lut_actor_id_</a> is empty the first actor with LUT support found will be used. <br /></td></tr>
<tr class="separator:a99311c7ad7ec1f640a73a652e611ae98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:adddae71dc314b75fbece325b9fb6d7c4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adddae71dc314b75fbece325b9fb6d7c4">lut_actor_id_</a></td></tr>
<tr class="memdesc:adddae71dc314b75fbece325b9fb6d7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID used to fetch/display the look up table on the visualizer It should be set by <a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer.html" title="PCL Visualizer main class.">PCLVisualizer</a> setLookUpTableID  <a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#adddae71dc314b75fbece325b9fb6d7c4">更多...</a><br /></td></tr>
<tr class="separator:adddae71dc314b75fbece325b9fb6d7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
友元</h2></td></tr>
<tr class="memitem:ade30ece8e4fa74c5ffba6ffeb9593297"><td class="memItemLeft" align="right" valign="top"><a id="ade30ece8e4fa74c5ffba6ffeb9593297"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PointPickingCallback</b></td></tr>
<tr class="separator:ade30ece8e4fa74c5ffba6ffeb9593297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f8f37d4c530c5059dc02a1efa5ea633"><td class="memItemLeft" align="right" valign="top"><a id="a9f8f37d4c530c5059dc02a1efa5ea633"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PCLVisualizer</b></td></tr>
<tr class="separator:a9f8f37d4c530c5059dc02a1efa5ea633"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html" title="PCLVisualizerInteractorStyle defines an unique, custom VTK based interactory style for PCL Visualizer...">PCLVisualizerInteractorStyle</a> defines an unique, custom VTK based interactory style for PCL Visualizer applications. Besides defining the rendering style, we also create a list of custom actions that are triggered on different keys being pressed: </p>
<ul>
<li>p, P : switch to a point-based representation</li>
<li>w, W : switch to a wireframe-based representation (where available)</li>
<li>s, S : switch to a surface-based representation (where available)</li>
<li>j, J : take a .PNG snapshot of the current window view</li>
<li>c, C : display current camera/window parameters</li>
<li>f, F : fly to point mode</li>
<li>e, E : exit the interactor\</li>
<li>q, Q : stop and call VTK's TerminateApp</li>
<li>+ / - : increment/decrement overall point size</li>
<li>g, G : display scale grid (on/off)</li>
<li>u, U : display lookup table (on/off)</li>
<li>r, R [+ ALT] : reset camera [to viewpoint = {0, 0, 0} -&gt; center_{x, y, z}]</li>
<li>CTRL + s, S : save camera parameters</li>
<li>CTRL + r, R : restore camera parameters</li>
<li>ALT + s, S : turn stereo mode on/off</li>
<li>ALT + f, F : switch between maximized window mode and original size</li>
<li>l, L : list all available geometric and color handlers for the current actor map</li>
<li>ALT + 0..9 [+ CTRL] : switch between different geometric handlers (where available)</li>
<li>0..9 [+ CTRL] : switch between different color handlers (where available)</li>
<li></li>
<li>SHIFT + left click : select a point</li>
<li>x, X : toggle rubber band selection mode for left mouse button</li>
</ul>
<dl class="section author"><dt>作者</dt><dd>Radu B. Rusu </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="adc66c05759536aa30af313edab96e817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc66c05759536aa30af313edab96e817">&#9670;&nbsp;</a></span>getCameraParameters() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::getCameraParameters </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1visualization_1_1_camera.html">Camera</a> &amp;&#160;</td>
          <td class="paramname"><em>camera</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get camera parameters and save them to a <a class="el" href="classpcl_1_1visualization_1_1_camera.html">pcl::visualization::Camera</a>. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">camera</td><td>the name of the <a class="el" href="classpcl_1_1visualization_1_1_camera.html">pcl::visualization::Camera</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a66e03c83bf7b1d7a52bc3dae14589853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66e03c83bf7b1d7a52bc3dae14589853">&#9670;&nbsp;</a></span>getCameraParameters() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::visualization::PCLVisualizerInteractorStyle::getCameraParameters </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>camera</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get camera parameters from a string vector. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">camera</td><td>A string vector: Clipping Range, Focal Point, Position, ViewUp, Distance, Field of View Y, <a class="el" href="classpcl_1_1visualization_1_1_window.html">Window</a> Size, <a class="el" href="classpcl_1_1visualization_1_1_window.html">Window</a> Pos. Values in each string are seperated by a ',' </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a53c9d1104075d6a4183fa1caf9867641"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53c9d1104075d6a4183fa1caf9867641">&#9670;&nbsp;</a></span>loadCameraParameters()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::visualization::PCLVisualizerInteractorStyle::loadCameraParameters </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load camera parameters from a camera parameter file. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>the name of the camera parameter file </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9b86ca3ad6b1a033cd1818990f7bfbc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b86ca3ad6b1a033cd1818990f7bfbc9">&#9670;&nbsp;</a></span>registerAreaPickingCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::signals2::connection pcl::visualization::PCLVisualizerInteractorStyle::registerAreaPickingCallback </td>
          <td>(</td>
          <td class="paramtype">boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_area_picking_event.html">pcl::visualization::AreaPickingEvent</a> &amp;)&gt;&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a callback function for area picking events </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a boost function that will be registered as a callback for a area picking event </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>a connection object that allows to disconnect the callback function. </dd></dl>

</div>
</div>
<a id="a12c90dd2989fca990bf5d78cc30a0e25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12c90dd2989fca990bf5d78cc30a0e25">&#9670;&nbsp;</a></span>registerKeyboardCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::signals2::connection pcl::visualization::PCLVisualizerInteractorStyle::registerKeyboardCallback </td>
          <td>(</td>
          <td class="paramtype">boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a> &amp;)&gt;&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a callback boost::function for keyboard events </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a boost function that will be registered as a callback for a keyboard event </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>a connection object that allows to disconnect the callback function. </dd></dl>

</div>
</div>
<a id="a46cf21d027bfeeda66a85bcf09015317"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46cf21d027bfeeda66a85bcf09015317">&#9670;&nbsp;</a></span>registerMouseCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::signals2::connection pcl::visualization::PCLVisualizerInteractorStyle::registerMouseCallback </td>
          <td>(</td>
          <td class="paramtype">boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a> &amp;)&gt;&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a callback function for mouse events </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a boost function that will be registered as a callback for a mouse event </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>a connection object that allows to disconnect the callback function. </dd></dl>

</div>
</div>
<a id="a87fd92b00651962f5ac09618b1a040a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87fd92b00651962f5ac09618b1a040a7">&#9670;&nbsp;</a></span>registerPointPickingCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boost::signals2::connection pcl::visualization::PCLVisualizerInteractorStyle::registerPointPickingCallback </td>
          <td>(</td>
          <td class="paramtype">boost::function&lt; void(const <a class="el" href="classpcl_1_1visualization_1_1_point_picking_event.html">pcl::visualization::PointPickingEvent</a> &amp;)&gt;&#160;</td>
          <td class="paramname"><em>cb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a callback function for point picking events </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a boost function that will be registered as a callback for a point picking event </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>a connection object that allows to disconnect the callback function. </dd></dl>

</div>
</div>
<a id="ad5c5462340c577ef368095bf64b3b215"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5c5462340c577ef368095bf64b3b215">&#9670;&nbsp;</a></span>saveCameraParameters()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::visualization::PCLVisualizerInteractorStyle::saveCameraParameters </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save the camera parameters to disk, as a .cam file. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>the name of the .cam file </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a43fea5e3d699b7a3e084ca4bd2655f15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43fea5e3d699b7a3e084ca4bd2655f15">&#9670;&nbsp;</a></span>saveScreenshot()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::saveScreenshot </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save the current rendered image to disk, as a PNG screenshot. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>the name of the PNG file </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2cbbfc4ac0867a983ab48cd2662bfeb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cbbfc4ac0867a983ab48cd2662bfeb1">&#9670;&nbsp;</a></span>setCameraFile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setCameraFile </td>
          <td>(</td>
          <td class="paramtype">const std::string&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set camera file for camera parameter saving/restoring. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">file</td><td>the name of the camera parameter file </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        {</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;          <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#afc1423a12519f236d740fbb4bcce23b0">camera_file_</a> = file;</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_afc1423a12519f236d740fbb4bcce23b0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#afc1423a12519f236d740fbb4bcce23b0">pcl::visualization::PCLVisualizerInteractorStyle::camera_file_</a></div><div class="ttdeci">std::string camera_file_</div><div class="ttdoc">Camera file for camera parameter saving/restoring.</div><div class="ttdef"><b>Definition:</b> interactor_style.h:380</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8ca1e9a5ec952d47ac6dc4c6e36093dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ca1e9a5ec952d47ac6dc4c6e36093dd">&#9670;&nbsp;</a></span>setCameraParameters() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setCameraParameters </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1visualization_1_1_camera.html">Camera</a> &amp;&#160;</td>
          <td class="paramname"><em>camera</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>viewport</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the camera parameters by given a full camera data structure. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">camera</td><td>camera structure containing all the camera parameters. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">viewport</td><td>the viewport to modify camera of (0 modifies all cameras) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a163bfbeb653773a9fc9a7035c262e8e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a163bfbeb653773a9fc9a7035c262e8e1">&#9670;&nbsp;</a></span>setCameraParameters() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setCameraParameters </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Matrix3f &amp;&#160;</td>
          <td class="paramname"><em>intrinsics</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Eigen::Matrix4f &amp;&#160;</td>
          <td class="paramname"><em>extrinsics</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>viewport</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the camera parameters via an intrinsics and and extrinsics matrix </p>
<dl class="section note"><dt>注解</dt><dd>This assumes that the pixels are square and that the center of the image is at the center of the sensor. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">intrinsics</td><td>the intrinsics that will be used to compute the VTK camera parameters </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">extrinsics</td><td>the extrinsics that will be used to compute the VTK camera parameters </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">viewport</td><td>the viewport to modify camera of (0 modifies all cameras) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a06f609a85bfdc90fbe8c90dcda98fd29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06f609a85bfdc90fbe8c90dcda98fd29">&#9670;&nbsp;</a></span>setCloudActorMap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setCloudActorMap </td>
          <td>(</td>
          <td class="paramtype">const CloudActorMapPtr &amp;&#160;</td>
          <td class="paramname"><em>actors</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pass a pointer to the cloud actor map </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">actors</td><td>the actor map that will be used with this style </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;{ <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a479fe3ea8f11e886237803d2ff0f7278">cloud_actors_</a> = actors; }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_a479fe3ea8f11e886237803d2ff0f7278"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a479fe3ea8f11e886237803d2ff0f7278">pcl::visualization::PCLVisualizerInteractorStyle::cloud_actors_</a></div><div class="ttdeci">CloudActorMapPtr cloud_actors_</div><div class="ttdoc">Cloud actor map stored internally.</div><div class="ttdef"><b>Definition:</b> interactor_style.h:273</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a898280b1a969cb0e9116e71de3da0273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a898280b1a969cb0e9116e71de3da0273">&#9670;&nbsp;</a></span>setKeyboardModifier()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setKeyboardModifier </td>
          <td>(</td>
          <td class="paramtype">const InteractorKeyboardModifier &amp;&#160;</td>
          <td class="paramname"><em>modifier</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Change the default keyboard modified from ALT to a different special key. Allowed values are: </p>
<ul>
<li>INTERACTOR_KB_MOD_ALT</li>
<li>INTERACTOR_KB_MOD_CTRL</li>
<li>INTERACTOR_KB_MOD_SHIFT <dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">modifier</td><td>the new keyboard modifier </td></tr>
  </table>
  </dd>
</dl>
</li>
</ul>
<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        {</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;          <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ab25184eb4951ff78320da1589804dcb6">modifier_</a> = modifier;</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_ab25184eb4951ff78320da1589804dcb6"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#ab25184eb4951ff78320da1589804dcb6">pcl::visualization::PCLVisualizerInteractorStyle::modifier_</a></div><div class="ttdeci">InteractorKeyboardModifier modifier_</div><div class="ttdoc">The keyboard modifier to use. Default: Alt.</div><div class="ttdef"><b>Definition:</b> interactor_style.h:377</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a16b9121a9daeda58f5585a958ec82d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16b9121a9daeda58f5585a958ec82d94">&#9670;&nbsp;</a></span>setRendererCollection()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setRendererCollection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classvtk_smart_pointer.html">vtkSmartPointer</a>&lt; vtkRendererCollection &gt; &amp;&#160;</td>
          <td class="paramname"><em>rens</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pass a set of renderers to the interactor style. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rens</td><td>the vtkRendererCollection to use </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;{ <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9a7930c0be0ec6da577f3ab21c914a7b">rens_</a> = rens; }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_a9a7930c0be0ec6da577f3ab21c914a7b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a9a7930c0be0ec6da577f3ab21c914a7b">pcl::visualization::PCLVisualizerInteractorStyle::rens_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkRendererCollection &gt; rens_</div><div class="ttdoc">Collection of vtkRenderers stored internally.</div><div class="ttdef"><b>Definition:</b> interactor_style.h:270</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4620e547c81b00eea6962b91d01f3840"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4620e547c81b00eea6962b91d01f3840">&#9670;&nbsp;</a></span>setShapeActorMap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setShapeActorMap </td>
          <td>(</td>
          <td class="paramtype">const ShapeActorMapPtr &amp;&#160;</td>
          <td class="paramname"><em>actors</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pass a pointer to the shape actor map </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">actors</td><td>the actor map that will be used with this style </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;{ <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a3f8dc332ab03f6f68f6ad55dc7e366ea">shape_actors_</a> = actors; }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_a3f8dc332ab03f6f68f6ad55dc7e366ea"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a3f8dc332ab03f6f68f6ad55dc7e366ea">pcl::visualization::PCLVisualizerInteractorStyle::shape_actors_</a></div><div class="ttdeci">ShapeActorMapPtr shape_actors_</div><div class="ttdoc">Shape map stored internally.</div><div class="ttdef"><b>Definition:</b> interactor_style.h:276</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abfd5739cf8fd6b0285d3d964861fc82a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfd5739cf8fd6b0285d3d964861fc82a">&#9670;&nbsp;</a></span>setUseVbos()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::visualization::PCLVisualizerInteractorStyle::setUseVbos </td>
          <td>(</td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>use_vbos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Use Vertex Buffer Objects renderers. This is an optimization for the obsolete OpenGL backend. Modern OpenGL2 backend (VTK ≥ 6.3) uses vertex buffer objects by default, transparently for the user. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">use_vbos</td><td>set to true to use VBOs </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{ <a class="code" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a93d59d4bba0fea9052d9d7aacdb478fc">use_vbos_</a> = use_vbos; }</div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style_html_a93d59d4bba0fea9052d9d7aacdb478fc"><div class="ttname"><a href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html#a93d59d4bba0fea9052d9d7aacdb478fc">pcl::visualization::PCLVisualizerInteractorStyle::use_vbos_</a></div><div class="ttdeci">bool use_vbos_</div><div class="ttdoc">Boolean that holds whether or not to use the vtkVertexBufferObjectMapper</div><div class="ttdef"><b>Definition:</b> interactor_style.h:288</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="adddae71dc314b75fbece325b9fb6d7c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adddae71dc314b75fbece325b9fb6d7c4">&#9670;&nbsp;</a></span>lut_actor_id_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::visualization::PCLVisualizerInteractorStyle::lut_actor_id_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ID used to fetch/display the look up table on the visualizer It should be set by <a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer.html" title="PCL Visualizer main class.">PCLVisualizer</a> setLookUpTableID </p>
<dl class="section note"><dt>注解</dt><dd>If empty, a random actor added to the interactor will be used </dd></dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>visualization/include/pcl/visualization/<a class="el" href="interactor__style_8h_source.html">interactor_style.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>visualization</b></li><li class="navelem"><a class="el" href="classpcl_1_1visualization_1_1_p_c_l_visualizer_interactor_style.html">PCLVisualizerInteractorStyle</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
